package com.example;

import java.io.IOException;
import java.io.PrintWriter;
import static java.nio.charset.StandardCharsets.*;
import java.nio.file.Path;
import java.util.Scanner;

public class FileIO {
    // 文件的输入输出
    public static void main(String[] args) {
        // 可以通过 System.getProperty函数获取虚拟机的启动路径
        System.out.println(System.getProperty("user.dir"));
        //与 标准输入类似，文件读取同样需要一个 Scanner 对象进行控制
        try {
            // 文件写入需要一个PrintWriter 实例
            PrintWriter fileWriter = new PrintWriter("F:\\code\\study\\JAVA-STUDY\\src\\main\\resources\\text.txt", "UTF-8");
            fileWriter.println(1);
            fileWriter.println(2);
            fileWriter.close();// 在写入文件之后必须关闭文件的输入流

            Scanner file_IO_handler = new Scanner(Path.of("F:\\code\\study\\JAVA-STUDY\\src\\main\\resources\\text.txt"), UTF_8);
            System.out.println(file_IO_handler.nextLine()); // 输出文件的第一行内容
            System.out.println(file_IO_handler.nextLine()); // 执行完一次nextLine后文件读写指针将会移动到该次读取内容的末尾，因此再执行一次该函数读取的是下一行的内容

        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
